package org.ala.tcp_feign_common.serialize;

import org.ala.tcp_feign_common.enums.TcpFeignSerializableTypeEnums;
import org.ala.tcp_feign_common.exceptions.SerializableException;

/**
 *
 * @author 骆毅(ala)
 * @date 2024年4月21日
 */
public interface ISerializabler {

	
	/**
	 * 序列化类型
	 */
	TcpFeignSerializableTypeEnums type();
	
	
	/**
	 * 序列化
	 */
	byte[] serialize(Object body) throws SerializableException;
	/**
	 * 反序列化
	 */
	<T> T deSerialize(byte[] bytes, Class<T> clazz) throws SerializableException;
}
